package com.jy.modules.cims.data.common.dao;

import java.util.List;
import java.util.Map;

import org.springframework.data.repository.query.Param;

import com.jy.modules.cims.data.common.dto.TCMmCreditTimeoutDTO;
import com.jy.platform.core.mybatis.MyBatisRepository;
/**
 * @classname: TCMmCreditTimeoutDao
 * @description: 定义  调用接口超时明细 持久层 接口
 * 通过@MapperScannerConfigurer扫描目录中的所有接口, 动态在Spring Context中生成实现.
 * 方法名称必须与Mapper.xml中保持一致.
 * @author:  final
 */
@MyBatisRepository
public interface TCMmCreditTimeoutDao {
    
    /**
     * @author final
     * @description: 分页查询调用接口超时明细
     * @date 2016-08-02 16:54:44
     * @param searchParams
     * @return
     */
    public List<TCMmCreditTimeoutDTO> searchTCMmCreditTimeoutByPaging(Map<String, Object> searchParams) ;
    
    /**
     * @author final
     * @description:查询对象调用接口超时明细
     * @date 2016-08-02 16:54:44
     * @param searchParams
     * @return
     */
    public List<TCMmCreditTimeoutDTO> searchTCMmCreditTimeout(Map<String,Object> searchParams);

    /**
     * @author final
     * @description:查询对象调用接口超时明细
     * @date 2016-08-02 16:54:44
     * @param id
     * @return
     */
    public TCMmCreditTimeoutDTO findTCMmCreditTimeoutByPrimaryKey(String id);
    
    /**
     * @author final
     * @description: 新增对象调用接口超时明细
     * @date 2016-08-02 16:54:44
     * @param paramMap
     * @return
     */
    public int insertTCMmCreditTimeout(Map<String, Object> paramMap);
    
    /**
     * @author final
     * @description: 更新对象调用接口超时明细
     * @date 2016-08-02 16:54:44
     * @param paramMap
     */
    public void updateTCMmCreditTimeout(Map<String, Object> paramMap);
     
    /**
     * @author final
     * @description: 按主键删除调用接口超时明细
     * @date 2016-08-02 16:54:44
     * @param ids
     * @return
     */ 
    public void deleteTCMmCreditTimeoutByPrimaryKey(Map<String, Object> paramMap);
    

    /**
     * 查询超时的流水号
     * @param interfaceNo
     * @return
     */
	public List<String> queryTimeoutTransNos(Map<String, Object> paramMap) ;
	

    /**
     * 查询超时记录
     * @param interfaceNo
     * @return
     */
	public int queryTimeoutCountByFrontNo(String frontTransNo) ;
	
    /**
     * 查询超时记录
     * @param interfaceNo
     * @return
     */
	public int queryTimeoutCountByTransferId(String transferId) ;
	
	/**
	 * 删除by前端流水号
	 * @param paramMap
	 */
	public void deleteTCMmCreditTimeoutByFrontNo(String frontTransNo);
	
    /**
     * 查询超时记录
     * @param interfaceNo
     * @return
     */
	public int queryTimeoutCountByFrontNoAndTransId(Map<String, Object> paramMap) ;
	
	/**
	 * 根据转让编号得到批次号
	 * @param tranferIdList
	 * @return
	 */
	public List<String> queryBatchId(Map<String, Object> paramMap);
}
